package com.panasonic.cn.cmsc;

import java.io.*;
import java.lang.*;
import java.util.*;
import java.math.*;
import java.sql.SQLException;
import com.fujitsu.fks.jaaf.core.*;

public class SQLMM2004{
	private Hashtable paramsString     = new Hashtable();
	private Hashtable paramsBigDecimal = new Hashtable();
	private Hashtable paramsFree       = new Hashtable();
	private String lastSql_ = null;

	private String getString(String name){
		if(name==null) return "";
		String returnStr = (String)paramsString.get(name);
		if(returnStr==null) return "";
		return "'"+FrameworkCommon.stringReplaceSQuote(returnStr)+"'";
	}

	private String getBigDecimal(String name){
		if(name==null) return "";
		BigDecimal returnStr = (BigDecimal)paramsBigDecimal.get(name);
		if(returnStr==null) return "";
		return returnStr.toString();
	}

	private String getFree(String name){
		if(name==null) return "";
		String returnStr = (String)paramsFree.get(name);
		if(returnStr==null) return "";
		return returnStr;
	}

	public String getLastSql(){
		return lastSql_;
	}

	public SelectResultRset SELECT_M2001(FrameworkDbCommon db) throws Exception {
		StringBuffer sql = new StringBuffer();
		sql.append(" SELECT NVL( SLCP_CD,'') AS SLCP_CD,");
		sql.append(" NVL( CHRG_TYP,'') AS CHRG_TYP,");
		sql.append(" NVL( VDR_CD,'') AS VDR_CD,");
		sql.append(" NVL( ITM_CAT_MID,'') AS ITM_CAT_MID,");
		sql.append(" NVL( APL_BDT,'') AS APL_BDT,");
		sql.append(" NVL( APL_EDT,'') AS APL_EDT,");
		sql.append(" NVL( DVSN_CD,'') AS DVSN_CD,");
		sql.append(" NVL( CHRG_CD,'') AS CHRG_CD,");
		sql.append(" NVL( TRSP_MTHD,'') AS TRSP_MTHD,");
		sql.append(" NVL( ROUT_CD,'') AS ROUT_CD,");
		sql.append(" TO_CHAR(NVL( RGS_DTTM,''),'YYYYMMDDHH24MISS') AS RGS_DTTM,");
		sql.append(" NVL( RGS_CHRG_CD,'') AS RGS_CHRG_CD,");
		sql.append(" NVL( RGS_PGID,'') AS RGS_PGID,");
		sql.append(" TO_CHAR(NVL( UPD_DTTM,''),'YYYYMMDDHH24MISS') AS UPD_DTTM,");
		sql.append(" NVL( UPD_CHRG_CD,'') AS UPD_CHRG_CD,");
		sql.append(" NVL( UPD_PGID,'') AS UPD_PGID ,");
		sql.append(" NVL( FM_TYP,'') AS FM_TYP");
		sql.append(" FROM M20");
		sql.append(" WHERE SLCP_CD "+((getString("SLCP_CD").equals(""))?" is null ":"=")+getString("SLCP_CD")+"");
		sql.append(" AND CHRG_TYP "+((getString("CHRG_TYP").equals(""))?" is null ":"=")+getString("CHRG_TYP")+"");
		sql.append(" AND ITM_CAT_MID "+((getString("ITM_CAT_MID").equals(""))?" is null ":"=")+getString("ITM_CAT_MID")+"");
		sql.append(" AND VDR_CD "+((getString("VDR_CD").equals(""))?" is null ":"=")+getString("VDR_CD")+"");
		db.setSql(sql.toString());
		lastSql_ =sql.toString();
		SelectResultRset srr = db.executeQuery();
		paramsString     = new Hashtable();
		paramsBigDecimal = new Hashtable();
		paramsFree       = new Hashtable();

		return srr;
	}

	public SelectResultRset SELECT_M2002(FrameworkDbCommon db) throws Exception {
		StringBuffer sql = new StringBuffer();
		sql.append(" SELECT NVL( SLCP_CD,'') AS SLCP_CD,");
		sql.append(" NVL( CHRG_TYP,'') AS CHRG_TYP,");
		sql.append(" NVL( VDR_CD,'') AS VDR_CD,");
		sql.append(" NVL( ITM_CAT_MID,'') AS ITM_CAT_MID,");
		sql.append(" NVL( APL_BDT,'') AS APL_BDT,");
		sql.append(" NVL( APL_EDT,'') AS APL_EDT,");
		sql.append(" NVL( DVSN_CD,'') AS DVSN_CD,");
		sql.append(" NVL( CHRG_CD,'') AS CHRG_CD,");
		sql.append(" NVL( TRSP_MTHD,'') AS TRSP_MTHD,");
		sql.append(" NVL( ROUT_CD,'') AS ROUT_CD,");
		sql.append(" TO_CHAR(NVL( RGS_DTTM,''),'YYYYMMDDHH24MISS') AS RGS_DTTM,");
		sql.append(" NVL( RGS_CHRG_CD,'') AS RGS_CHRG_CD,");
		sql.append(" NVL( RGS_PGID,'') AS RGS_PGID,");
		sql.append(" TO_CHAR(NVL( UPD_DTTM,''),'YYYYMMDDHH24MISS') AS UPD_DTTM,");
		sql.append(" NVL( UPD_CHRG_CD,'') AS UPD_CHRG_CD,");
		sql.append(" NVL( UPD_PGID,'') AS UPD_PGID ,");
		sql.append(" NVL( FM_TYP,'') AS FM_TYP");
		sql.append(" FROM M20");
		sql.append(" WHERE SLCP_CD "+((getString("SLCP_CD").equals(""))?" is null ":"=")+getString("SLCP_CD")+"");
		sql.append(" AND CHRG_TYP "+((getString("CHRG_TYP").equals(""))?" is null ":"=")+getString("CHRG_TYP")+"");
		sql.append(" AND ITM_CAT_MID "+((getString("ITM_CAT_MID").equals(""))?" is null ":"=")+getString("ITM_CAT_MID")+"");
		sql.append(" AND VDR_CD "+((getString("VDR_CD").equals(""))?" is null ":"=")+getString("VDR_CD")+"");
		sql.append(" AND TO_CHAR(NVL( UPD_DTTM,''),'YYYYMMDDHH24MISS') "+((getString("UPD_DTTM").equals(""))?" is null ":"=")+getString("UPD_DTTM")+"");
		db.setSql(sql.toString());
		lastSql_ =sql.toString();
		SelectResultRset srr = db.executeQuery();
		paramsString     = new Hashtable();
		paramsBigDecimal = new Hashtable();
		paramsFree       = new Hashtable();

		return srr;
	}

	public int INSERT_BM2003(FrameworkDbCommon db) throws Exception {
		StringBuffer sql = new StringBuffer();
		sql.append(" INSERT INTO BM20(");
		sql.append(" SEQ_NO,");
		sql.append(" SLCP_CD,");
		sql.append(" CHRG_TYP,");
		sql.append(" VDR_CD,");
		sql.append(" ITM_CAT_MID,");
		sql.append(" APL_BDT,");
		sql.append(" APL_EDT,");
		sql.append(" CHRG_CD,");
		sql.append(" TRSP_MTHD,");
		sql.append(" DVSN_CD,");
		sql.append(" ROUT_CD,");
		sql.append(" FM_TYP,");
		sql.append(" RGS_DTTM,");
		sql.append(" RGS_CHRG_CD,");
		sql.append(" RGS_PGID,");
		sql.append(" UPD_DTTM,");
		sql.append(" UPD_CHRG_CD,");
		sql.append(" UPD_PGID");
		sql.append(" )");
		sql.append(" select SEQ_BM20.NEXTVAL,");
		sql.append(" SLCP_CD,");
		sql.append(" CHRG_TYP,");
		sql.append(" VDR_CD,");
		sql.append(" ITM_CAT_MID,");
		sql.append(" APL_BDT,");
		sql.append(" APL_EDT,");
		sql.append(" CHRG_CD,");
		sql.append(" TRSP_MTHD,");
		sql.append(" DVSN_CD,");
		sql.append(" ROUT_CD,");
		sql.append(" FM_TYP,");
		sql.append(" RGS_DTTM,");
		sql.append(" RGS_CHRG_CD,");
		sql.append(" RGS_PGID,");
		sql.append(" UPD_DTTM,");
		sql.append(" UPD_CHRG_CD,");
		sql.append(" UPD_PGID");
		sql.append(" FROM M20");
		sql.append(" WHERE");
		sql.append(" SLCP_CD "+((getString("SLCP_CD").equals(""))?" is null ":"=")+getString("SLCP_CD")+"");
		sql.append(" AND CHRG_TYP "+((getString("CHRG_TYP").equals(""))?" is null ":"=")+getString("CHRG_TYP")+"");
		sql.append(" AND VDR_CD "+((getString("VDR_CD").equals(""))?" is null ":"=")+getString("VDR_CD")+"");
		sql.append(" AND ITM_CAT_MID "+((getString("ITM_CAT_MID").equals(""))?" is null ":"=")+getString("ITM_CAT_MID")+"");
		db.setSql(sql.toString());
		lastSql_ =sql.toString();
		int updateCount = db.executeUpdate();
		paramsString     = new Hashtable();
		paramsBigDecimal = new Hashtable();
		paramsFree       = new Hashtable();

		return updateCount;
	}

	public int UPDATE_M2004(FrameworkDbCommon db) throws Exception {
		StringBuffer sql = new StringBuffer();
		sql.append(" UPDATE M20");
		sql.append(" SET");
		sql.append(" APL_EDT "+((getString("APL_EDT").equals(""))?" is null ":"=")+getString("APL_EDT")+",");
		sql.append(" UPD_DTTM = TO_DATE("+getString("UPD_DTTM")+",'YYYYMMDDHH24MISS'),");
		sql.append(" UPD_CHRG_CD "+((getString("UPD_CHRG_CD").equals(""))?" is null ":"=")+getString("UPD_CHRG_CD")+",");
		sql.append(" UPD_PGID "+((getString("UPD_PGID").equals(""))?" is null ":"=")+getString("UPD_PGID")+",");
		sql.append(" FM_TYP "+((getString("FM_TYP").equals(""))?" is null ":"=")+getString("FM_TYP")+"");
		sql.append(" WHERE");
		sql.append(" SLCP_CD "+((getString("SLCP_CD").equals(""))?" is null ":"=")+getString("SLCP_CD")+"");
		sql.append(" AND CHRG_TYP "+((getString("CHRG_TYP").equals(""))?" is null ":"=")+getString("CHRG_TYP")+"");
		sql.append(" AND VDR_CD "+((getString("VDR_CD").equals(""))?" is null ":"=")+getString("VDR_CD")+"");
		sql.append(" AND ITM_CAT_MID "+((getString("ITM_CAT_MID").equals(""))?" is null ":"=")+getString("ITM_CAT_MID")+"");
		db.setSql(sql.toString());
		lastSql_ =sql.toString();
		int updateCount = db.executeUpdate();
		paramsString     = new Hashtable();
		paramsBigDecimal = new Hashtable();
		paramsFree       = new Hashtable();

		return updateCount;
	}

	public int UPDATE_M2005(FrameworkDbCommon db) throws Exception {
		StringBuffer sql = new StringBuffer();
		sql.append(" UPDATE M20");
		sql.append(" SET");
		sql.append(" UPD_DTTM = TO_DATE("+getString("UPD_DTTM")+",'YYYYMMDDHH24MISS'),");
		sql.append(" UPD_CHRG_CD "+((getString("UPD_CHRG_CD").equals(""))?" is null ":"=")+getString("UPD_CHRG_CD")+",");
		sql.append(" UPD_PGID "+((getString("UPD_PGID").equals(""))?" is null ":"=")+getString("UPD_PGID")+",");
		sql.append(" FM_TYP "+((getString("FM_TYP").equals(""))?" is null ":"=")+getString("FM_TYP")+"");
		sql.append(" WHERE");
		sql.append(" SLCP_CD "+((getString("SLCP_CD").equals(""))?" is null ":"=")+getString("SLCP_CD")+"");
		sql.append(" AND CHRG_TYP "+((getString("CHRG_TYP").equals(""))?" is null ":"=")+getString("CHRG_TYP")+"");
		sql.append(" AND VDR_CD "+((getString("VDR_CD").equals(""))?" is null ":"=")+getString("VDR_CD")+"");
		sql.append(" AND ITM_CAT_MID "+((getString("ITM_CAT_MID").equals(""))?" is null ":"=")+getString("ITM_CAT_MID")+"");
		db.setSql(sql.toString());
		lastSql_ =sql.toString();
		int updateCount = db.executeUpdate();
		paramsString     = new Hashtable();
		paramsBigDecimal = new Hashtable();
		paramsFree       = new Hashtable();

		return updateCount;
	}

	public SelectResultRset SELECT_M2006(FrameworkDbCommon db) throws Exception {
		StringBuffer sql = new StringBuffer();
		sql.append(" SELECT TRPT_NM_CN");
		sql.append(" FROM M01");
		sql.append(" WHERE VDR_CD "+((getString("VDR_CD").equals(""))?" is null ":"=")+getString("VDR_CD")+"");
		sql.append(" AND APL_BDT <"+((getString("APL_BDT").equals(""))?" is null ":"=")+getString("APL_BDT")+"");
		sql.append(" AND APL_EDT >"+((getString("APL_BDT").equals(""))?" is null ":"=")+getString("APL_BDT")+"");
		sql.append(" AND FM_TYP "+((getString("FM_TYP1").equals(""))?" is not null ":"!=")+getString("FM_TYP1")+"");
		db.setSql(sql.toString());
		lastSql_ =sql.toString();
		SelectResultRset srr = db.executeQuery();
		paramsString     = new Hashtable();
		paramsBigDecimal = new Hashtable();
		paramsFree       = new Hashtable();

		return srr;
	}

	public SelectResultRset SELECT_M2007(FrameworkDbCommon db) throws Exception {
		StringBuffer sql = new StringBuffer();
		sql.append(" SELECT");
		sql.append(" NVL(CHRG_NM_CN,'') AS CHRG_NM_CN");
		sql.append(" FROM");
		sql.append(" M19");
		sql.append(" WHERE");
		sql.append(" CHRG_CD "+((getString("CHRG_CD").equals(""))?" is null ":"=")+getString("CHRG_CD")+"");
		sql.append(" AND");
		sql.append(" FM_TYP <> "+getString("FM_TYP_X")+"");
		sql.append(" AND");
		sql.append(" APL_BDT <"+((getString("APL_BDT").equals(""))?" is null ":"=")+getString("APL_BDT")+"");
		sql.append(" AND");
		sql.append(" APL_EDT >"+((getString("APL_BDT").equals(""))?" is null ":"=")+getString("APL_BDT")+"");
		db.setSql(sql.toString());
		lastSql_ =sql.toString();
		SelectResultRset srr = db.executeQuery();
		paramsString     = new Hashtable();
		paramsBigDecimal = new Hashtable();
		paramsFree       = new Hashtable();

		return srr;
	}


	public void setSLCP_CD(String value){
		if(value==null) {
			paramsString.remove("SLCP_CD");
			return;
		}
		paramsString.put("SLCP_CD",value);
	}


	public void setCHRG_TYP(String value){
		if(value==null) {
			paramsString.remove("CHRG_TYP");
			return;
		}
		paramsString.put("CHRG_TYP",value);
	}


	public void setITM_CAT_MID(String value){
		if(value==null) {
			paramsString.remove("ITM_CAT_MID");
			return;
		}
		paramsString.put("ITM_CAT_MID",value);
	}


	public void setVDR_CD(String value){
		if(value==null) {
			paramsString.remove("VDR_CD");
			return;
		}
		paramsString.put("VDR_CD",value);
	}


	public void setUPD_DTTM(String value){
		if(value==null) {
			paramsString.remove("UPD_DTTM");
			return;
		}
		paramsString.put("UPD_DTTM",value);
	}


	public void setAPL_EDT(String value){
		if(value==null) {
			paramsString.remove("APL_EDT");
			return;
		}
		paramsString.put("APL_EDT",value);
	}


	public void setUPD_CHRG_CD(String value){
		if(value==null) {
			paramsString.remove("UPD_CHRG_CD");
			return;
		}
		paramsString.put("UPD_CHRG_CD",value);
	}


	public void setUPD_PGID(String value){
		if(value==null) {
			paramsString.remove("UPD_PGID");
			return;
		}
		paramsString.put("UPD_PGID",value);
	}


	public void setFM_TYP(String value){
		if(value==null) {
			paramsString.remove("FM_TYP");
			return;
		}
		paramsString.put("FM_TYP",value);
	}


	public void setAPL_BDT(String value){
		if(value==null) {
			paramsString.remove("APL_BDT");
			return;
		}
		paramsString.put("APL_BDT",value);
	}


	public void setFM_TYP1(String value){
		if(value==null) {
			paramsString.remove("FM_TYP1");
			return;
		}
		paramsString.put("FM_TYP1",value);
	}


	public void setCHRG_CD(String value){
		if(value==null) {
			paramsString.remove("CHRG_CD");
			return;
		}
		paramsString.put("CHRG_CD",value);
	}


	public void setFM_TYP_X(String value){
		if(value==null) {
			paramsString.remove("FM_TYP_X");
			return;
		}
		paramsString.put("FM_TYP_X",value);
	}


}
